package hcn.protocol.brandnew.dengji.paiduijiaohao;

import lombok.Data;
import javax.xml.bind.annotation.*;
import java.util.List;
import hcn.protocol.brandnew.BaseRequest;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import ctd.util.xml.jaxb.DateTimeAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;


/**
 * 候诊信息查询-响应消息(成功) - ODS_02080001_SUC
 *
 * @author enjoyLife
 */
@Data
@XmlRootElement(name = "Data")
@XmlAccessorType(XmlAccessType.FIELD)
public class ListQueuesResponse {

    /**
     * 候诊记录
     */
    @XmlElementWrapper(name = "Records")
    @XmlElement(name = "Record")
    private List<Record> records;

    @Data
    @XmlAccessorType(XmlAccessType.FIELD)
    public static class Record {

        /**
         * 就诊医疗机构组织机构代码
         */
        @XmlElement(name = "VisitOrganization")
        private String visitOrganization;
        /**
         * 就诊机构名称
         */
        @XmlElement(name = "VisitOrganizationName")
        private String visitOrganizationName;
        /**
         * 挂号科室名称
         */
        @XmlElement(name = "DeptName")
        private String deptName;
        /**
         * 患者ID
         */
        @XmlElement(name = "SourcePatientId")
        private String sourcePatientId;
        /**
         * 患者姓名
         */
        @XmlElement(name = "Name")
        private String name;
        /**
         * 诊疗卡类型
         */
        @XmlElement(name = "MedicalCardType")
        private String medicalCardType;
        /**
         * 患者卡号
         */
        @XmlElement(name = "MedicalCardID")
        private String medicalCardID;
        /**
         * 身份证件号码
         */
        @XmlElement(name = "IdCard")
        private String idCard;
        /**
         * 身份证件类别代码
         */
        @XmlElement(name = "IdCardCode")
        private String idCardCode;
        /**
         * 科室地址
         */
        @XmlElement(name = "AdmitAddress")
        private String admitAddress;
        /**
         * 就诊指引信息
         */
        @XmlElement(name = "GuidanceInformation")
        private String guidanceInformation;
        /**
         * 提示信息
         */
        @XmlElement(name = "Tips")
        private String tips;
        /**
         * 排队项目名称
         */
        @XmlElement(name = "QueueItemName")
        private String queueItemName;
        /**
         * 排队业务记录ID
         */
        @XmlElement(name = "QueuingServiceRecordID")
        private Integer queuingServiceRecordID;
        /**
         * 当前看诊序号
         */
        @XmlElement(name = "CurrentNumber")
        private Integer currentNumber;
        /**
         * 当前时刻排在前面的人数
         */
        @XmlElement(name = "FrontNumber")
        private Integer frontNumber;
        /**
         * 平均看诊时间(分钟)
         */
        @XmlElement(name = "AvgTime")
        private Integer avgTime;
        /**
         * 等待人数
         */
        @XmlElement(name = "WaitingNumber")
        private Integer waitingNumber;
        /**
         * 预计就诊时间(yyyy-MM-dd HH:mm:ss)
         */
        @XmlElement(name = "ExpectTime")
        @XmlJavaTypeAdapter(DateTimeAdapter.class)
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date expectTime;
        /**
         * 队列更新时间(yyyy-MM-dd HH:mm:ss)
         */
        @XmlElement(name = "QueuesUpdateTime")
        @XmlJavaTypeAdapter(DateTimeAdapter.class)
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date queuesUpdateTime;

        /**
         * 挂号序号
         */
        @XmlElement(name = "RegisteredSequence")
        private String registeredSequence;
    }

}
